const s = new Set();

[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));

for (let i of s) {
    console.log(i);
}

// ES6 提供了新的数据结构 Set。它类似于数组，但是成员的值都是唯一的，没有重复的值。
// Set本身是一个构造函数，用来生成 Set 数据结构。

//set结构的数据最大的特点就是不允许出现重复的数据
let setll = new Set();
setll.add(1);
setll.add(2);
setll.add(1);
setll.add(2);
setll.add(3);
setll.add(5);
setll.add(1);
console.log(setll);//结果:Set(4) {1, 2, 3, 5}

// 利用 set 数据特性去除数组重复
let array2 = [0,12,5,12,5,2,2,2,22];
console.log(array2);
//利用 Set 函数的特性可以直接传入参数去重复
let setall_2 = new Set(array2);
console.log(setall_2);
//利用...将set打散追加到数组中
let arrays_2 = [...setall_2 ];
//或者使用Array.from(setall);函数将数据转换成数组
let arrays_3 = Array.from(setall_2);
console.log(arrays_2);//结果为 (5) [0, 12, 5, 2, 22]
console.log(arrays_3);